// 权限模块 -- 设置路由守卫
import router from '@/router' // 和main.js里的router是同一个(模块多次导入都会拿到同一个导出的对象, 内存中是相等的)
import store from '@/store'

router.beforeEach((to, from, next) => {
  // 目标：如果有登录状态，就禁止去登录页
  if (store.state.token && to.path === '/login') {
    next(false) // 禁止跳转
  } else { // 其他都放行
    next()
  }
})

// 总结：
// url相同http://localhost:8080
// sessionStorage -- 在不同标签页(不共享)
// localStorage -- 不同标签页(共享)
// 新开标签页，相当于重新执行一遍代码，vuex里token变量在本地sessionStorage没有取到值，就导致if判断失败

// 临界值：
// 1. 已经登录 -- token正确 -- 去login页 (n)
// 2. 已登录 - token过期 -- 去login (y)  删除vuex和本地的toekn,再跳转路由
// 3. 未登录 -- 无token -- 去login (y)
